# coding:utf-8
from docx.oxml.text.parfmt import CT_PPr
from docx.oxml.section import CT_SectPr
from docx import Document
from docx.oxml.table import CT_Tbl
from docx.oxml.text.paragraph import CT_P
# document = Document(r'd:\专业选修课2.docx')
from docx import Document
from docx.shared import Inches

document = Document()

document.add_heading('Document Title', 0)

# p = document.add_paragraph('A plain paragraph having some ')
# p.add_run('bold').bold = True
# p.add_run(' and some ')
# p.add_run('italic.').italic = True

# document.add_heading('Heading, level 1', level=1)
# document.add_paragraph('Intense quote', style='Intense Quote')

# document.add_paragraph(
#     'first item in unordered list', style='List Bullet'
# )
# document.add_paragraph(
#     'first item in ordered list', style='List Number'
# )

# document.add_picture(r'd:\1.jpg', width=Inches(1.25))

# records = (
#     (3, '101', 'Spam'),
#     (7, '422', 'Eggs'),
#     (4, '631', 'Spam, spam, eggs, and spam')
# )

# table = document.add_table(rows=1, cols=3)
# hdr_cells = table.rows[0].cells
# hdr_cells[0].text = 'Qty'
# hdr_cells[1].text = 'Id'
# hdr_cells[2].text = 'Desc'
# for qty, id, desc in records:
#     row_cells = table.add_row().cells
#     row_cells[0].text = str(qty)
#     row_cells[1].text = id
#     row_cells[2].text = desc
# document.add_page_break()
document = Document(r'd:\2.docx')
body = document.element.body


def printchildren(b1, line):
    line2 = line.copy()
    line2.append(0)
    for i2, b2 in enumerate(b1.iterchildren()):
        print(*line, type(b2), b2.text)
        line[-1] = i2
        printchildren(b2,  line2)


# print(dir(body))
for i, b1 in enumerate(body.iterchildren()):
    if isinstance(b1, CT_SectPr):
        continue
    if isinstance(b1, CT_P):
        b1.iterchildren()
    print(i, type(b1), b1.text)
    printchildren(b1, [i, ])
